8
תגובות
למה הלולאה לא רצה?
פתח
soogo
,
למה הלולאה לא רצה?
$query = mysql_query("SELECT * FROM table WHERE Side = 'Right'");
print '<ul class="right">';
while ($array = mysql_fetch_assoc($query))
{
$c1 ++;
print $c1;
}
print '</ul>';
print '<ul class="right">';
while ($array = mysql_fetch_assoc($query))
{
$c1 ++;
print $c1;
}
print '</ul>';
8 תשובות
כיוון שהתנאי לא מתקיים.
בשביל להבין למה התנאי לא מתקיים ומה בכלל התנאי הזה, שהוא לא תנאי צריך אשקרה ללמוד משהו.
התשובה הקצרה תהיה - התוצאה של השאילתה ריקה. כלומר 0 שורות במסד נתונים נשלפו עם השאילתה הזאת.
יש לי שורות במסד שמקיימות את התנאי
c1 זה count התפקיד לבדוק מה קורה עם הלולאה
$query = mysql_query("SELECT * FROM table WHERE Side = 'Right'");
echo 'fetched ', mysql_num_rows($query), ' rows';
echo 'fetched ', mysql_num_rows($query), ' rows';
mysql_num_rows זה פונקציה שמחזירה את כמות השורות שנשלפו מהמסד.
במקרה שלך שום דבר לא נשלף מהמסד. זה אומר שהשאילתה כתובה לא נכון או שאין שורות שעונות לתנאי הזה.
תעתיק את השאילתה כפי שהיא לתוך phpMyAdmin ותראה מה אתה מקבל.
כנראה שהבעיה לא בחלק קוד שהבאת אלה איפשהו במקום אחר.
למשל בחיבור למסד.
תנסה לשנות את השאילת ל
$query = mysql_query("SELECT 1");
השאילתה הזאת בוודאות מחזירה שורה אחת.
בנוסף אתה צריך להפעיל הודעות על שגיאות ולראות שאין שגיאות כלשהן.
שים בתחילת תחילת הסקריפט את השורה
error_reporting(E_ALL);